home *** CD-ROM | disk | FTP | other *** search
/ Giga Games 1 / Giga Games.iso / net / usenet / volume9 / umoria3 / patch1a < prev    next >
Encoding:
Internet Message Format  |  1990-06-08  |  54.3 KB

  1. Path: uunet!zephyr.ens.tek.com!tekred!saab!billr
  2. From: billr@saab.CNA.TEK.COM (Bill Randle)
  3. Newsgroups: comp.sources.games
  4. Subject: v10i015:  umoria3 - single player dungeon simulation (ver. 5.2), Patch1a
  5. Message-ID: <5722@tekred.CNA.TEK.COM>
  6. Date: 5 Jun 90 16:37:54 GMT
  7. Sender: news@tekred.CNA.TEK.COM
  8. Lines: 1727
  9. Approved: billr@saab.CNA.TEK.COM
  10.  
  11. Submitted-by: wilson@ernie.Berkeley.EDU (Jim Wilson)
  12. Posting-number: Volume 10, Issue 15
  13. Archive-name: umoria3/Patch1a
  14. Patch-To: umoria3: Volume 9, Issue 55-86
  15.  
  16. This patch has fixes for:
  17. * the invisible/invincible monster/player bug
  18. * a bug triggered by climbing stairs while search mode is enabled
  19. * a bug that occasionally occurs when reading the 'Door Creation' scroll
  20. * numerous problems with the IBM-PC Turbo C support
  21. * numerous problems with the Macintosh MPW C support
  22. * a new version of the util/printit program for pretty printing object and
  23.   monster descriptions
  24. * the Mac ScrnMgr.doc file which had lines much longer than 80 characters,
  25.   and all files that did not end with a newline character
  26.  
  27. Copy the 3 patch file parts to the top level umoria directory, and unshar
  28. them there.  There are 7 files which are replaced, the shar file renames
  29. the old copies with a '.old' extension.
  30.  
  31. See the NOTES01 file after you have unshared the 3 parts for more info.
  32.  
  33. Jim Wilson
  34. wilson@ernie.Berkeley.EDU
  35.  
  36. #! /bin/sh
  37. # This is a shell archive.  Remove anything before this line, then unpack
  38. # it by saving it into a file and typing "sh file".  To overwrite existing
  39. # files, type "sh file -c".  You can also feed this as standard input via
  40. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  41. # will see the following message at the end:
  42. #        "End of archive 1 (of 3)."
  43. # Contents:  MANIFEST.P1 patches01 source/tables.c util/printit
  44. # Wrapped by wilson@atlas on Wed May 30 14:19:58 1990
  45. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  46. if test -f 'MANIFEST.P1' -a "${1}" != "-c" ; then 
  47.   echo shar: Will not clobber existing file \"'MANIFEST.P1'\"
  48. else
  49. echo shar: Extracting \"'MANIFEST.P1'\" \(610 characters\)
  50. sed "s/^X//" >'MANIFEST.P1' <<'END_OF_FILE'
  51. X   File Name        Archive #    Description
  52. X-----------------------------------------------------------
  53. X MANIFEST.P1                1    This shipping list
  54. X NOTES01                    3    
  55. X ibmpc/turbo_c.inf          3    
  56. X mac/MakeFile.hqx           2    
  57. X mac/dumpres/MakeFile.hqx   2    
  58. X mac/resource.hqx           3    
  59. X mac/scrnmgr/MakeFile.hqx   3    
  60. X mac/scrnmgr/ScrnMgr.doc    2    
  61. X patches01                  1    
  62. X source/player.c            2    
  63. X source/tables.c            1    
  64. X source/variable.c          3    
  65. X util/printit               1    
  66. X util/printit/Makefile      3    
  67. X util/printit/pr_items.c    3    
  68. X util/printit/pr_monst.c    3    
  69. END_OF_FILE
  70. if test 610 -ne `wc -c <'MANIFEST.P1'`; then
  71.     echo shar: \"'MANIFEST.P1'\" unpacked with wrong size!
  72. fi
  73. # end of 'MANIFEST.P1'
  74. fi
  75. if test -f 'patches01' -a "${1}" != "-c" ; then 
  76.   echo shar: Will not clobber existing file \"'patches01'\"
  77. else
  78. echo shar: Extracting \"'patches01'\" \(39060 characters\)
  79. sed "s/^X//" >'patches01' <<'END_OF_FILE'
  80. Xdiff -cr oldumoria/CHANGES umoria/CHANGES
  81. X*** oldumoria/CHANGES    Thu May 10 11:49:31 1990
  82. X--- umoria/CHANGES    Sun May 27 15:38:31 1990
  83. X***************
  84. X*** 602,604
  85. X  resource.hqx: recompiled the mac resource files
  86. X  macscore.c, mac.c: changed control characters '...' to \311
  87. X  all: distribute version 5.2.0
  88. X
  89. X--- 602,656 -----
  90. X  resource.hqx: recompiled the mac resource files
  91. X  macscore.c, mac.c: changed control characters '...' to \311
  92. X  all: distribute version 5.2.0
  93. X+ ----------- 5/14
  94. X+ death.c, externs.h, io.c, ms_misc.c: Turbo C changes, void sleep() instead
  95. X+     of unsigned sleep(), don't call reset_term() before exiting, ifdef
  96. X+     out definition of sleep() in ms_misc.c, declare signal handler as
  97. X+     void not int
  98. X+ generate.c, types.h: change IBMPC_TURBO_C defines to the proper TURBOC define
  99. X+ io.c: shell_out(), MSDOS code parameter to inkey() call deleted
  100. X+ externs.h: count_msg_print() changed from (int) to (char *)
  101. X+ io.c: get_check(), add code to use 'y' if LINT_ARGS defined, pause_exit()
  102. X+     add code to use 'delay' for MSDOS machines
  103. X+ ms_misc.c: clear_screen(0,0) changed to clear_screen()
  104. X+ main.c: set stack size for TURBOC by declaring the _stksize variable
  105. X+ misc2.c: player_saves(), split expression up because MPW C couldn't handle it
  106. X+ save.c: include time.h for for the Mac, delete var 'i' in save_char (unused),
  107. X+     get_char() add code for MAC to return FALSE if savefile doesn't exist
  108. X+ mac.c: add call to initsavedefaults() in main()
  109. X+ mac/ERRORS: document problem with mac Makefile
  110. X+ -------- 5/15
  111. X+ externs.h: remove decl of py_bash(), which is in moria2.c and static
  112. X+ --------- 5/17
  113. X+ dungeon.c: move search_off() call after check_view(), as panel_* variables
  114. X+     must be valid before search_off() is called
  115. X+ -------- 5/18
  116. X+ all: 7 files did not end with newlines, 5 hqx files, and origcmds.hlp,
  117. X+     misc/README also did not end with a newline
  118. X+ -------- 5/21
  119. X+ constant.h, version.hlp, moria.r: change version number to 5.2.1
  120. X+ ScrnMgr.doc: split all lines greater than 80 characters, to make the file
  121. X+     more portable
  122. X+ --------- 5/22
  123. X+ death.c: in mac sources, there was a 'true' instead of a 'TRUE'
  124. X+ ms_misc.c: Turbo C sscanf() incorrectly reads a newline from a blank line,
  125. X+     add check for newline to code that reads configuration file
  126. X+ spells.c: door_creation(), called popt() before calling delete_object()
  127. X+     which could then invalidate the value returned by popt, moved
  128. X+     popt() call after the delete_object() call
  129. X+ ----------- 5/25
  130. X+ creature.c: fix the invincible/invisible monster bug, multiply_monster()
  131. X+     was creating children on top of the parent, thus killing the parent
  132. X+     for carnivorous monsters
  133. X+ death.c, externs.h, generate.c, io.c, main.c, ms_misc.c, signals.c, types.h:
  134. X+     change all TURBOC defines to __TURBOC__
  135. X+ util/printit: new version of the printit program by Carl Hommel, fixed up
  136. X+     to be somewhat more portable and to use only moria defined constants 
  137. X+ -------- 5/27
  138. X+ player.c, tables.c, variable.c: Turbo C can not accept any file with more than
  139. X+     64K global variables, so variable.c split into three parts, also
  140. X+     updated all makefiles to refer to all three files
  141. X+ mac files: all three mac Makefiles modified to delete obsolete references to
  142. X+     CInterface.o and CRuntime.o, scrnmgr Makefile modified to automatically
  143. X+     combine the two ScrnMgr.c parts, README updated to document a problem
  144. X+     with the Makefile not appending resources and text files sometimes
  145. Xdiff -cr oldumoria/ERRORS umoria/ERRORS
  146. X*** oldumoria/ERRORS    Thu May 10 11:37:10 1990
  147. X--- umoria/ERRORS    Sun May 27 15:38:29 1990
  148. X***************
  149. X*** 1,3
  150. X  for Atari ST, find and fix rest of the &/| long constant problems, esp. see
  151. X  moria1.c
  152. X  
  153. X
  154. X--- 1,23 -----
  155. X+ on some unknown version of Sun OS, with some unknown compiler version,
  156. X+ on a Sun 3/80, umoria core dumps while restoring a savefile if compiled
  157. X+ with -O2, works if compiled with -O1
  158. X+ 
  159. X+ mac version does not clear screen properly when running a second
  160. X+ character, try looking for variables which should be cleared but aren't,
  161. X+ especially the race display, and object pointers
  162. X+ 
  163. X+ typing escape to the wizard mode change character prompts does not
  164. X+ clear the message line
  165. X+ 
  166. X+ can actually get the 'internal error in identify scroll' message, user had
  167. X+ two(one?) unidentified identify scrolls, and one known identify scroll,
  168. X+ read the known one, identified the unknown ones, got the combining message,
  169. X+ and then got the internal error message
  170. X+ 
  171. X+ need to clear the heavy_weapon state everytime a new weapon is wielded,
  172. X+ so that you don't get 'can wield' message when going from heavy to light,
  173. X+ but you do get a 'can't' wield' message when going from heavy to heavy
  174. X+ 
  175. X  for Atari ST, find and fix rest of the &/| long constant problems, esp. see
  176. X  moria1.c
  177. X  
  178. X***************
  179. X*** 13,22
  180. X  I did this, note the def of errno in files.c for MSDOS
  181. X  
  182. X  clock in misc1.c needs to be changed, Mac (TC?) defines this
  183. X- 
  184. X- i believe it is possible for two oozes to eat each other, and this
  185. X- will cause problems; there definitely IS a bug in the m_list code
  186. X- somewhere
  187. X  
  188. X  a few routines still equate '\0' with ESCAPE, such as get_com(),
  189. X  fix them to ignore NULL characters?,  also get_com() should echo "escape"
  190. X
  191. X--- 33,38 -----
  192. X  I did this, note the def of errno in files.c for MSDOS
  193. X  
  194. X  clock in misc1.c needs to be changed, Mac (TC?) defines this
  195. X  
  196. X  a few routines still equate '\0' with ESCAPE, such as get_com(),
  197. X  fix them to ignore NULL characters?,  also get_com() should echo "escape"
  198. Xdiff -cr oldumoria/README umoria/README
  199. X*** oldumoria/README    Wed May  9 16:05:57 1990
  200. X--- umoria/README    Mon May 21 00:41:02 1990
  201. X***************
  202. X*** 3,9
  203. X  second major release of the game.  These sources have been compiled
  204. X  successfully at least once in the following environments: UNIX (4.2 BSD,
  205. X  4.3 BSD, SYS V, Xenix, and many similar systems), IBM-PC (MSC 5.0,
  206. X! Turbo C 4.0), Mac (MPW 3.0), Atari ST (MWC, GCC).  VMS and Mac (Think C 4.0)
  207. X  ports are in progress.
  208. X  
  209. X  I consider these to be beta sources.  That means they will probably work
  210. X
  211. X--- 3,9 -----
  212. X  second major release of the game.  These sources have been compiled
  213. X  successfully at least once in the following environments: UNIX (4.2 BSD,
  214. X  4.3 BSD, SYS V, Xenix, and many similar systems), IBM-PC (MSC 5.0,
  215. X! Turbo C 2.0), Mac (MPW 3.0), Atari ST (MWC, GCC).  VMS and Mac (Think C 4.0)
  216. X  ports are in progress.
  217. X  
  218. X  I consider these to be beta sources.  That means they will probably work
  219. Xdiff -cr oldumoria/atari_st/Makefile umoria/atari_st/Makefile
  220. X*** oldumoria/atari_st/Makefile    Mon Feb 26 21:27:46 1990
  221. X--- umoria/atari_st/Makefile    Sun May 27 15:48:08 1990
  222. X***************
  223. X*** 12,18
  224. X      generate.c sets.c dungeon.c creature.c death.c eat.c help.c magic.c\
  225. X      potions.c prayer.c save.c staffs.c wands.c scrolls.c spells.c\
  226. X      wizard.c store2.c signals.c moria1.c moria2.c monsters.c\
  227. X!     treasure.c variable.c rnd.c recall.c atarist.c undef.c
  228. X  
  229. X  OBJS = main.o misc1.o misc2.o store1.o files.o io.o create.o desc.o\
  230. X      generate.o sets.o dungeon.o creature.o death.o eat.o help.o magic.o\
  231. X
  232. X--- 12,19 -----
  233. X      generate.c sets.c dungeon.c creature.c death.c eat.c help.c magic.c\
  234. X      potions.c prayer.c save.c staffs.c wands.c scrolls.c spells.c\
  235. X      wizard.c store2.c signals.c moria1.c moria2.c monsters.c\
  236. X!     treasure.c variable.c rnd.c recall.c atarist.c undef.c\
  237. X!     player.c tables.c
  238. X  
  239. X  OBJS = main.o misc1.o misc2.o store1.o files.o io.o create.o desc.o\
  240. X      generate.o sets.o dungeon.o creature.o death.o eat.o help.o magic.o\
  241. X***************
  242. X*** 18,24
  243. X      generate.o sets.o dungeon.o creature.o death.o eat.o help.o magic.o\
  244. X      potions.o prayer.o save.o staffs.o wands.o scrolls.o spells.o\
  245. X      wizard.o store2.o signals.o moria1.o moria2.o monsters.o\
  246. X!     treasure.o variable.o rnd.o recall.o atarist.o undef.o curses.o
  247. X  
  248. X  LIBFILES = moria_hours moria_help moria_orig_help moria_wiz_help \
  249. X      moria_orig_wiz_help moria_man
  250. X
  251. X--- 19,26 -----
  252. X      generate.o sets.o dungeon.o creature.o death.o eat.o help.o magic.o\
  253. X      potions.o prayer.o save.o staffs.o wands.o scrolls.o spells.o\
  254. X      wizard.o store2.o signals.o moria1.o moria2.o monsters.o\
  255. X!     treasure.o variable.o rnd.o recall.o atarist.o undef.o curses.o\
  256. X!     player.o tables.o
  257. X  
  258. X  LIBFILES = moria_hours moria_help moria_orig_help moria_wiz_help \
  259. X      moria_orig_wiz_help moria_man
  260. X***************
  261. X*** 84,89
  262. X  monsters.o: constant.h types.h config.h
  263. X  moria1.o: constant.h types.h externs.h config.h
  264. X  moria2.o: constant.h types.h externs.h config.h
  265. X  potions.o: constant.h types.h externs.h config.h
  266. X  prayer.o: constant.h types.h externs.h config.h
  267. X  recall.o: constant.h config.h types.h externs.h
  268. X
  269. X--- 86,92 -----
  270. X  monsters.o: constant.h types.h config.h
  271. X  moria1.o: constant.h types.h externs.h config.h
  272. X  moria2.o: constant.h types.h externs.h config.h
  273. X+ player.o: constant.h types.h config.h
  274. X  potions.o: constant.h types.h externs.h config.h
  275. X  prayer.o: constant.h types.h externs.h config.h
  276. X  recall.o: constant.h config.h types.h externs.h
  277. X***************
  278. X*** 96,101
  279. X  staffs.o: constant.h types.h externs.h config.h
  280. X  store1.o: constant.h types.h externs.h config.h
  281. X  store2.o: constant.h types.h externs.h config.h
  282. X  treasure.o: constant.h types.h config.h
  283. X  atarist.o: constant.h config.h types.h externs.h
  284. X  variable.o: constant.h types.h config.h
  285. X
  286. X--- 99,105 -----
  287. X  staffs.o: constant.h types.h externs.h config.h
  288. X  store1.o: constant.h types.h externs.h config.h
  289. X  store2.o: constant.h types.h externs.h config.h
  290. X+ tables.o: constant.h types.h config.h
  291. X  treasure.o: constant.h types.h config.h
  292. X  atarist.o: constant.h config.h types.h externs.h
  293. X  variable.o: constant.h types.h config.h
  294. Xdiff -cr oldumoria/files/version.hlp umoria/files/version.hlp
  295. X*** oldumoria/files/version.hlp    Wed May  9 15:11:55 1990
  296. X--- umoria/files/version.hlp    Mon May 21 16:53:08 1990
  297. X***************
  298. X*** 52,55
  299. X    not for profit purposes provided that this copyright and statement are
  300. X    included in all such copies.
  301. X  
  302. X! Umoria Version 5.2, patch level 0
  303. X
  304. X--- 52,55 -----
  305. X    not for profit purposes provided that this copyright and statement are
  306. X    included in all such copies.
  307. X  
  308. X! Umoria Version 5.2, patch level 1
  309. Xdiff -cr oldumoria/ibmpc/MLINK.LNK umoria/ibmpc/MLINK.LNK
  310. X*** oldumoria/ibmpc/MLINK.LNK    Fri May  4 16:50:21 1990
  311. X--- umoria/ibmpc/MLINK.LNK    Sun May 27 15:43:37 1990
  312. X***************
  313. X*** 4,7
  314. X  POTIONS+PRAYER+RND+SAVE+
  315. X  SCROLLS+SETS+SIGNALS+SPELLS+STAFFS+
  316. X  STORE1+STORE2+TREASURE+VARIABLE+
  317. X! WANDS+WIZARD+IO+MS_MISC+UNDEF+RECALL,moria,,pccurses
  318. X
  319. X--- 4,8 -----
  320. X  POTIONS+PRAYER+RND+SAVE+
  321. X  SCROLLS+SETS+SIGNALS+SPELLS+STAFFS+
  322. X  STORE1+STORE2+TREASURE+VARIABLE+
  323. X! WANDS+WIZARD+IO+MS_MISC+UNDEF+RECALL+
  324. X! PLAYER.C+TABLES.C,moria,,pccurses
  325. Xdiff -cr oldumoria/ibmpc/MORIA.CNF umoria/ibmpc/MORIA.CNF
  326. X*** oldumoria/ibmpc/MORIA.CNF    Fri May  4 16:50:07 1990
  327. X--- umoria/ibmpc/MORIA.CNF    Mon May 14 13:54:08 1990
  328. X***************
  329. X*** 1,4
  330. X! # Configuration file for PC MORIA 4.87
  331. X  #
  332. X  # All lines that have the # character as the first character are
  333. X  # comment lines.  Blank lines are totally ignored.
  334. X
  335. X--- 1,4 -----
  336. X! # Configuration file for PC MORIA 5.x
  337. X  #
  338. X  # All lines that have the # character as the first character are
  339. X  # comment lines.  Blank lines are totally ignored.
  340. Xdiff -cr oldumoria/ibmpc/ms_misc.c umoria/ibmpc/ms_misc.c
  341. X*** oldumoria/ibmpc/ms_misc.c    Tue Mar 27 14:27:05 1990
  342. X--- umoria/ibmpc/ms_misc.c    Fri May 25 17:14:13 1990
  343. X***************
  344. X*** 57,62
  345. X      return cp;
  346. X  }
  347. X  
  348. X  unsigned int
  349. X  sleep(secs)
  350. X  int    secs;
  351. X
  352. X--- 57,63 -----
  353. X      return cp;
  354. X  }
  355. X  
  356. X+ #ifndef __TURBOC__
  357. X  unsigned int
  358. X  sleep(secs)
  359. X  int    secs;
  360. X***************
  361. X*** 68,73
  362. X          /* nothing */;
  363. X      return 0;
  364. X  }
  365. X  
  366. X  void
  367. X  error(fmt, a1, a2, a3, a4)
  368. X
  369. X--- 69,75 -----
  370. X          /* nothing */;
  371. X      return 0;
  372. X  }
  373. X+ #endif
  374. X  
  375. X  void
  376. X  error(fmt, a1, a2, a3, a4)
  377. X***************
  378. X*** 153,159
  379. X              continue;
  380. X  
  381. X          cnt = sscanf(buf, "%s", opt);
  382. X!         if (cnt == 0 || opt[0] == '\0')
  383. X              continue;
  384. X  
  385. X          /* Go through possible variables
  386. X
  387. X--- 155,163 -----
  388. X              continue;
  389. X  
  390. X          cnt = sscanf(buf, "%s", opt);
  391. X!         /* Turbo C will incorrectly read a newline from an empty line,
  392. X!            MSC will read correctly read a NULL character */
  393. X!         if (cnt == 0 || opt[0] == '\0' || opt[0] == '\n')
  394. X              continue;
  395. X  
  396. X          /* Go through possible variables
  397. X***************
  398. X*** 382,388
  399. X  {
  400. X          char buf[80];
  401. X  
  402. X!     clear_screen(0, 0);
  403. X          wmove(stdscr,0,0); 
  404. X      waddstr(stdscr,"                         *********************");
  405. X      wmove(stdscr,1,0);
  406. X
  407. X--- 386,392 -----
  408. X  {
  409. X          char buf[80];
  410. X  
  411. X!     clear_screen();
  412. X          wmove(stdscr,0,0); 
  413. X      waddstr(stdscr,"                         *********************");
  414. X      wmove(stdscr,1,0);
  415. Xdiff -cr oldumoria/mac/README umoria/mac/README
  416. X*** oldumoria/mac/README    Sun Mar  4 03:38:31 1990
  417. X--- umoria/mac/README    Sun May 27 15:32:40 1990
  418. X***************
  419. X*** 28,30
  420. X  
  421. X      a.    Set the directory to "{NewDir}"
  422. X      b.    Build (cmd-B) "Moria" (or execute "BuildProgram Moria").
  423. X
  424. X--- 28,34 -----
  425. X  
  426. X      a.    Set the directory to "{NewDir}"
  427. X      b.    Build (cmd-B) "Moria" (or execute "BuildProgram Moria").
  428. X+     c.  If Moria doesn't seem to work right, it is probably because
  429. X+         the resource and text files weren't appended to the application.
  430. X+         Either delete the file Moria and rebuild, or else execute by hand
  431. X+         the commands which append the resources and text files.
  432. Xdiff -cr oldumoria/mac/mac.c umoria/mac/mac.c
  433. X*** oldumoria/mac/mac.c    Thu May 10 11:42:44 1990
  434. X--- umoria/mac/mac.c    Mon May 14 19:11:52 1990
  435. X***************
  436. X*** 1674,1679
  437. X      
  438. X      restart_flag = FALSE;
  439. X      
  440. X      /* Find out if user has started from a saved game */
  441. X      savedgame = getfinderfile();
  442. X      
  443. X
  444. X--- 1674,1681 -----
  445. X      
  446. X      restart_flag = FALSE;
  447. X      
  448. X+     initsavedefaults ();
  449. X+ 
  450. X      /* Find out if user has started from a saved game */
  451. X      savedgame = getfinderfile();
  452. X      
  453. Xdiff -cr oldumoria/mac/macdata.c umoria/mac/macdata.c
  454. X*** oldumoria/mac/macdata.c    Sun Mar  4 03:38:35 1990
  455. X--- umoria/mac/macdata.c    Sun May 27 15:19:27 1990
  456. X***************
  457. X*** 1,7
  458. X  /* This program creates the initialized global data resources.        */
  459. X  /* It is compiled as an MPW tool.                                    */
  460. X  
  461. X! /* Monsters.c, treasur1.c, treasur2.c, variable.c are included.        */
  462. X  /* But, when this program is built, the compiler is instructed to    */
  463. X  /* actually include the initialized global data.  We just copy it    */
  464. X  /* into resource handles and dump them to the executable.            */
  465. X
  466. X--- 1,7 -----
  467. X  /* This program creates the initialized global data resources.        */
  468. X  /* It is compiled as an MPW tool.                                    */
  469. X  
  470. X! /* Monsters.c, player.c, tables.c, treasure.c, and variables.c are included.*/
  471. X  /* But, when this program is built, the compiler is instructed to    */
  472. X  /* actually include the initialized global data.  We just copy it    */
  473. X  /* into resource handles and dump them to the executable.            */
  474. Xdiff -cr oldumoria/mac/moria.r umoria/mac/moria.r
  475. X*** oldumoria/mac/moria.r    Wed May  9 15:14:30 1990
  476. X--- umoria/mac/moria.r    Mon May 21 16:54:25 1990
  477. X***************
  478. X*** 13,19
  479. X  };
  480. X  
  481. X  resource 'MRIA' (0) {
  482. X!     "Moria 5.2.0 for the Macintosh: Implementation 2.0b1"
  483. X  };
  484. X  
  485. X  resource 'BNDL' (128, purgeable) {
  486. X
  487. X--- 13,19 -----
  488. X  };
  489. X  
  490. X  resource 'MRIA' (0) {
  491. X!     "Moria 5.2.1 for the Macintosh: Implementation 2.0b1"
  492. X  };
  493. X  
  494. X  resource 'BNDL' (128, purgeable) {
  495. X***************
  496. X*** 205,211
  497. X          StaticText {
  498. X              disabled,
  499. X              "Moria for the Macintosh\n"
  500. X!             "Version 5.2.0\n"
  501. X              "Implementation 2.0b1\n\n\n"
  502. X              "Programmers:\n"
  503. X              "Robert Alan Koeneke\n"
  504. X
  505. X--- 205,211 -----
  506. X          StaticText {
  507. X              disabled,
  508. X              "Moria for the Macintosh\n"
  509. X!             "Version 5.2.1\n"
  510. X              "Implementation 2.0b1\n\n\n"
  511. X              "Programmers:\n"
  512. X              "Robert Alan Koeneke\n"
  513. X***************
  514. X*** 560,566
  515. X          {8, 52, 40, 380},
  516. X          StaticText {
  517. X              disabled,
  518. X!             "Moria for the Macintosh Version 5.2.0"
  519. X          },
  520. X          /* [6] */
  521. X          {8, 8, 40, 40},
  522. X
  523. X--- 560,566 -----
  524. X          {8, 52, 40, 380},
  525. X          StaticText {
  526. X              disabled,
  527. X!             "Moria for the Macintosh Version 5.2.1"
  528. X          },
  529. X          /* [6] */
  530. X          {8, 8, 40, 40},
  531. X***************
  532. X*** 584,590
  533. X  
  534. X  resource 'TEXT' (512, "Mac Help", purgeable) {
  535. X      "This is an beta version of Mac Moria, implementation 2.0b1, which is "
  536. X!     "based on the Umoria 5.2.0 sources.  Please send comments and bug repor"
  537. X      "ts to wilson@ernie.Berkeley.EDU (Jim Wilson) or 73230.224@compuserve.c"
  538. X      "om (Curtis McCauley).\n\n"
  539. X      "Users of previous versions o"
  540. X
  541. X--- 584,590 -----
  542. X  
  543. X  resource 'TEXT' (512, "Mac Help", purgeable) {
  544. X      "This is an beta version of Mac Moria, implementation 2.0b1, which is "
  545. X!     "based on the Umoria 5.2.1 sources.  Please send comments and bug repor"
  546. X      "ts to wilson@ernie.Berkeley.EDU (Jim Wilson) or 73230.224@compuserve.c"
  547. X      "om (Curtis McCauley).\n\n"
  548. X      "Users of previous versions o"
  549. Xdiff -cr oldumoria/source/constant.h umoria/source/constant.h
  550. X*** oldumoria/source/constant.h    Wed May  9 15:09:55 1990
  551. X--- umoria/source/constant.h    Mon May 21 16:52:42 1990
  552. X***************
  553. X*** 24,30
  554. X  /* Current version number of Moria                */
  555. X  #define CUR_VERSION_MAJ 5 /* version 5.2 */
  556. X  #define CUR_VERSION_MIN 2
  557. X! #define PATCH_LEVEL 0
  558. X  
  559. X  #ifndef TRUE
  560. X  #define TRUE 1
  561. X
  562. X--- 24,30 -----
  563. X  /* Current version number of Moria                */
  564. X  #define CUR_VERSION_MAJ 5 /* version 5.2 */
  565. X  #define CUR_VERSION_MIN 2
  566. X! #define PATCH_LEVEL 1
  567. X  
  568. X  #ifndef TRUE
  569. X  #define TRUE 1
  570. Xdiff -cr oldumoria/source/creature.c umoria/source/creature.c
  571. X*** oldumoria/source/creature.c    Fri May  4 19:33:39 1990
  572. X--- umoria/source/creature.c    Fri May 25 17:07:25 1990
  573. X***************
  574. X*** 905,911
  575. X      attackn++;
  576. X        else
  577. X      break;
  578. X!    }
  579. X  }
  580. X  
  581. X  
  582. X
  583. X--- 905,911 -----
  584. X      attackn++;
  585. X        else
  586. X      break;
  587. X!     }
  588. X  }
  589. X  
  590. X  
  591. X***************
  592. X*** 1389,1395
  593. X      {
  594. X        j = y - 2 + randint(3);
  595. X        k = x - 2 + randint(3);
  596. X!       if (in_bounds(j, k))
  597. X      {
  598. X        c_ptr = &cave[j][k];
  599. X        if ((c_ptr->fval <= MAX_OPEN_SPACE) && (c_ptr->tptr == 0) &&
  600. X
  601. X--- 1389,1397 -----
  602. X      {
  603. X        j = y - 2 + randint(3);
  604. X        k = x - 2 + randint(3);
  605. X!       /* don't create a new creature on top of the old one, that causes
  606. X!      invincible/invisible creatures to appear */
  607. X!       if (in_bounds(j, k) && (j != y || k != x))
  608. X      {
  609. X        c_ptr = &cave[j][k];
  610. X        if ((c_ptr->fval <= MAX_OPEN_SPACE) && (c_ptr->tptr == 0) &&
  611. Xdiff -cr oldumoria/source/death.c umoria/source/death.c
  612. X*** oldumoria/source/death.c    Fri May  4 18:19:28 1990
  613. X--- umoria/source/death.c    Fri May 25 17:10:53 1990
  614. X***************
  615. X*** 257,263
  616. X        break;
  617. X      case 'y': case 'Y':
  618. X        func = 'Y';
  619. X!       ok = true;
  620. X        break;
  621. X      case 'n': case 'N':
  622. X        func = 'N';
  623. X
  624. X--- 257,263 -----
  625. X        break;
  626. X      case 'y': case 'Y':
  627. X        func = 'Y';
  628. X!       ok = TRUE;
  629. X        break;
  630. X      case 'n': case 'N':
  631. X        func = 'N';
  632. X***************
  633. X*** 549,554
  634. X    if (i > 0)
  635. X      display_scores (i, TRUE);
  636. X    erase_line (23, 0);
  637. X    restore_term ();
  638. X  #ifdef MAC
  639. X    /* Undo what has been done */
  640. X
  641. X--- 549,555 -----
  642. X    if (i > 0)
  643. X      display_scores (i, TRUE);
  644. X    erase_line (23, 0);
  645. X+ #ifndef __TURBOC__
  646. X    restore_term ();
  647. X  #endif
  648. X  #ifdef MAC
  649. X***************
  650. X*** 550,555
  651. X      display_scores (i, TRUE);
  652. X    erase_line (23, 0);
  653. X    restore_term ();
  654. X  #ifdef MAC
  655. X    /* Undo what has been done */
  656. X    enablefilemenu(TRUE);
  657. X
  658. X--- 551,557 -----
  659. X    erase_line (23, 0);
  660. X  #ifndef __TURBOC__
  661. X    restore_term ();
  662. X+ #endif
  663. X  #ifdef MAC
  664. X    /* Undo what has been done */
  665. X    enablefilemenu(TRUE);
  666. Xdiff -cr oldumoria/source/dungeon.c umoria/source/dungeon.c
  667. X*** oldumoria/source/dungeon.c    Mon May  7 23:56:50 1990
  668. X--- umoria/source/dungeon.c    Thu May 17 14:31:30 1990
  669. X***************
  670. X*** 82,89
  671. X    find_count = 0;
  672. X    new_level_flag    = FALSE;
  673. X    find_flag    = FALSE;
  674. X-   if (search_flag)
  675. X-     search_off();
  676. X    teleport_flag = FALSE;
  677. X    mon_tot_mult    = 0;
  678. X    cave[char_row][char_col].cptr = 1;
  679. X
  680. X--- 82,87 -----
  681. X    find_count = 0;
  682. X    new_level_flag    = FALSE;
  683. X    find_flag    = FALSE;
  684. X    teleport_flag = FALSE;
  685. X    mon_tot_mult    = 0;
  686. X    cave[char_row][char_col].cptr = 1;
  687. X***************
  688. X*** 91,96
  689. X    panel_row = panel_col = -1;
  690. X    /* Light up the area around character       */
  691. X    check_view ();
  692. X    /* Light,  but do not move critters        */
  693. X    creatures(FALSE);
  694. X    /* Print the depth               */
  695. X
  696. X--- 89,99 -----
  697. X    panel_row = panel_col = -1;
  698. X    /* Light up the area around character       */
  699. X    check_view ();
  700. X+   /* must do this after panel_row/col set to -1, because search_off() will call
  701. X+      check_view(), and so the panel_* variables must be valid before
  702. X+      search_off() is called */
  703. X+   if (search_flag)
  704. X+     search_off();
  705. X    /* Light,  but do not move critters        */
  706. X    creatures(FALSE);
  707. X    /* Print the depth               */
  708. Xdiff -cr oldumoria/source/externs.h umoria/source/externs.h
  709. X*** oldumoria/source/externs.h    Fri May  4 20:49:41 1990
  710. X--- umoria/source/externs.h    Fri May 25 17:11:07 1990
  711. X***************
  712. X*** 297,303
  713. X  void clear_from(int);
  714. X  void print(char, int, int);
  715. X  void move_cursor_relative(int, int);
  716. X! void count_msg_print(int);
  717. X  void prt(char *, int, int);
  718. X  void move_cursor(int, int);
  719. X  void msg_print(char *);
  720. X
  721. X--- 297,303 -----
  722. X  void clear_from(int);
  723. X  void print(char, int, int);
  724. X  void move_cursor_relative(int, int);
  725. X! void count_msg_print(char *);
  726. X  void prt(char *, int, int);
  727. X  void move_cursor(int, int);
  728. X  void msg_print(char *);
  729. X***************
  730. X*** 494,500
  731. X  void look(void);
  732. X  void throw_object(void);
  733. X  void bash(void);
  734. X- void py_bash(int, int);
  735. X  
  736. X  #ifdef MSDOS
  737. X  /* ms_misc.c */
  738. X
  739. X--- 494,499 -----
  740. X  void look(void);
  741. X  void throw_object(void);
  742. X  void bash(void);
  743. X  
  744. X  #ifdef MSDOS
  745. X  /* ms_misc.c */
  746. X***************
  747. X*** 499,504
  748. X  #ifdef MSDOS
  749. X  /* ms_misc.c */
  750. X  char *getlogin(void);
  751. X  unsigned int sleep(int );
  752. X  void error(char *, ...);
  753. X  void warn(char *, ...);
  754. X
  755. X--- 498,506 -----
  756. X  #ifdef MSDOS
  757. X  /* ms_misc.c */
  758. X  char *getlogin(void);
  759. X+ #ifdef __TURBOC__
  760. X+ void sleep(int);
  761. X+ #else
  762. X  unsigned int sleep(int );
  763. X  #endif
  764. X  void error(char *, ...);
  765. X***************
  766. X*** 500,505
  767. X  /* ms_misc.c */
  768. X  char *getlogin(void);
  769. X  unsigned int sleep(int );
  770. X  void error(char *, ...);
  771. X  void warn(char *, ...);
  772. X  void msdos_init(void);
  773. X
  774. X--- 502,508 -----
  775. X  void sleep(int);
  776. X  #else
  777. X  unsigned int sleep(int );
  778. X+ #endif
  779. X  void error(char *, ...);
  780. X  void warn(char *, ...);
  781. X  void msdos_init(void);
  782. X***************
  783. X*** 952,958
  784. X  void look();
  785. X  void throw_object();
  786. X  void bash();
  787. X- void py_bash();
  788. X  
  789. X  #ifdef MSDOS
  790. X  /* ms_misc.c */
  791. X
  792. X--- 955,960 -----
  793. X  void look();
  794. X  void throw_object();
  795. X  void bash();
  796. X  
  797. X  #ifdef MSDOS
  798. X  /* ms_misc.c */
  799. X***************
  800. X*** 957,962
  801. X  #ifdef MSDOS
  802. X  /* ms_misc.c */
  803. X  char *getlogin();
  804. X  unsigned int sleep();
  805. X  void error();
  806. X  void warn();
  807. X
  808. X--- 959,967 -----
  809. X  #ifdef MSDOS
  810. X  /* ms_misc.c */
  811. X  char *getlogin();
  812. X+ #ifdef __TURBOC__
  813. X+ void sleep();
  814. X+ #else
  815. X  unsigned int sleep();
  816. X  #endif
  817. X  void error();
  818. X***************
  819. X*** 958,963
  820. X  /* ms_misc.c */
  821. X  char *getlogin();
  822. X  unsigned int sleep();
  823. X  void error();
  824. X  void warn();
  825. X  void msdos_init();
  826. X
  827. X--- 963,969 -----
  828. X  void sleep();
  829. X  #else
  830. X  unsigned int sleep();
  831. X+ #endif
  832. X  void error();
  833. X  void warn();
  834. X  void msdos_init();
  835. Xdiff -cr oldumoria/source/generate.c umoria/source/generate.c
  836. X*** oldumoria/source/generate.c    Fri May  4 19:00:51 1990
  837. X--- umoria/source/generate.c    Fri May 25 17:11:17 1990
  838. X***************
  839. X*** 13,19
  840. X  
  841. X  #ifdef USG
  842. X  #if !defined(ATARIST_MWC)
  843. X! #ifndef IBMPC_TURBO_C
  844. X  #include <memory.h>
  845. X  #else
  846. X  #include <mem.h>
  847. X
  848. X--- 13,19 -----
  849. X  
  850. X  #ifdef USG
  851. X  #if !defined(ATARIST_MWC)
  852. X! #ifndef __TURBOC__
  853. X  #include <memory.h>
  854. X  #else
  855. X  #include <mem.h>
  856. Xdiff -cr oldumoria/source/io.c umoria/source/io.c
  857. X*** oldumoria/source/io.c    Fri May  4 18:41:55 1990
  858. X--- umoria/source/io.c    Fri May 25 17:11:29 1990
  859. X***************
  860. X*** 136,141
  861. X  
  862. X  #ifdef USG
  863. X  void exit();
  864. X  unsigned sleep();
  865. X  #endif
  866. X  #ifdef ultrix
  867. X
  868. X--- 136,144 -----
  869. X  
  870. X  #ifdef USG
  871. X  void exit();
  872. X+ #ifdef __TURBOC__
  873. X+ void sleep();
  874. X+ #else
  875. X  unsigned sleep();
  876. X  #endif
  877. X  #endif
  878. X***************
  879. X*** 138,143
  880. X  void exit();
  881. X  unsigned sleep();
  882. X  #endif
  883. X  #ifdef ultrix
  884. X  void exit();
  885. X  void sleep();
  886. X
  887. X--- 141,147 -----
  888. X  #else
  889. X  unsigned sleep();
  890. X  #endif
  891. X+ #endif
  892. X  #ifdef ultrix
  893. X  void exit();
  894. X  void sleep();
  895. X***************
  896. X*** 535,541
  897. X      clear_screen();    /* BOSS key if shell failed */
  898. X      put_buffer("M:\\> ", 0, 0);
  899. X      do {
  900. X!       key = inkey(key);
  901. X      } while (key != '!');
  902. X    }
  903. X  
  904. X
  905. X--- 539,545 -----
  906. X      clear_screen();    /* BOSS key if shell failed */
  907. X      put_buffer("M:\\> ", 0, 0);
  908. X      do {
  909. X!       key = inkey();
  910. X      } while (key != '!');
  911. X    }
  912. X  
  913. X***************
  914. X*** 1055,1060
  915. X    /* prevent message 'warning: y is unused' */
  916. X    x = y;
  917. X  #endif
  918. X  #endif
  919. X  
  920. X    if (x > 73)
  921. X
  922. X--- 1059,1067 -----
  923. X    /* prevent message 'warning: y is unused' */
  924. X    x = y;
  925. X  #endif
  926. X+ #ifdef LINT_ARGS
  927. X+   /* prevent message about y never used for MSDOS systems */
  928. X+   res = y;
  929. X  #endif
  930. X  #endif
  931. X  
  932. X***************
  933. X*** 1056,1061
  934. X    x = y;
  935. X  #endif
  936. X  #endif
  937. X  
  938. X    if (x > 73)
  939. X  #ifdef ATARIST_MWC
  940. X
  941. X--- 1063,1069 -----
  942. X    /* prevent message about y never used for MSDOS systems */
  943. X    res = y;
  944. X  #endif
  945. X+ #endif
  946. X  
  947. X    if (x > 73)
  948. X  #ifdef ATARIST_MWC
  949. X***************
  950. X*** 1230,1235
  951. X        erase_line(prt_line, 0);
  952. X  #ifndef MSDOS        /* PCs are slow enough as is  -dgk */
  953. X        if (delay > 0)  (void) sleep((unsigned)delay);
  954. X  #endif
  955. X  #ifdef MAC
  956. X        enablefilemenu(FALSE);
  957. X
  958. X--- 1238,1246 -----
  959. X        erase_line(prt_line, 0);
  960. X  #ifndef MSDOS        /* PCs are slow enough as is  -dgk */
  961. X        if (delay > 0)  (void) sleep((unsigned)delay);
  962. X+ #else
  963. X+       /* prevent message about delay unused */
  964. X+       dummy = delay;
  965. X  #endif
  966. X  #ifdef MAC
  967. X        enablefilemenu(FALSE);
  968. Xdiff -cr oldumoria/source/main.c umoria/source/main.c
  969. X*** oldumoria/source/main.c    Fri May  4 20:48:51 1990
  970. X--- umoria/source/main.c    Fri May 25 17:11:37 1990
  971. X***************
  972. X*** 121,126
  973. X  long _stksize = 18000;        /*(SAJ) for MWC    */
  974. X  #endif
  975. X  
  976. X  #if defined(LINT_ARGS)
  977. X  static void char_inven_init(void);
  978. X  static void init_m_level(void);
  979. X
  980. X--- 121,130 -----
  981. X  long _stksize = 18000;        /*(SAJ) for MWC    */
  982. X  #endif
  983. X  
  984. X+ #ifdef __TURBOC__
  985. X+ unsigned _stklen = 0x3fff;    /* increase stack from 4K to 16K */
  986. X+ #endif
  987. X+ 
  988. X  #if defined(LINT_ARGS)
  989. X  static void char_inven_init(void);
  990. X  static void init_m_level(void);
  991. Xdiff -cr oldumoria/source/misc2.c umoria/source/misc2.c
  992. X*** oldumoria/source/misc2.c    Tue May  8 13:07:13 1990
  993. X--- umoria/source/misc2.c    Wed May 16 15:34:45 1990
  994. X***************
  995. X*** 2308,2313
  996. X  /* Saving throws for player character.        -RAK-    */
  997. X  int player_saves()
  998. X  {
  999. X    if (randint(100) <= (py.misc.save + stat_adj(A_WIS)
  1000. X                 + (class_level_adj[py.misc.pclass][CLA_SAVE]
  1001. X                * py.misc.lev / 3)))
  1002. X
  1003. X--- 2308,2316 -----
  1004. X  /* Saving throws for player character.        -RAK-    */
  1005. X  int player_saves()
  1006. X  {
  1007. X+   /* MPW C couldn't handle the expression, so split it into two parts */
  1008. X+   int16 temp = class_level_adj[py.misc.pclass][CLA_SAVE];
  1009. X+ 
  1010. X    if (randint(100) <= (py.misc.save + stat_adj(A_WIS)
  1011. X                 + (temp * py.misc.lev / 3)))
  1012. X      return(TRUE);
  1013. X***************
  1014. X*** 2309,2316
  1015. X  int player_saves()
  1016. X  {
  1017. X    if (randint(100) <= (py.misc.save + stat_adj(A_WIS)
  1018. X!                + (class_level_adj[py.misc.pclass][CLA_SAVE]
  1019. X!               * py.misc.lev / 3)))
  1020. X      return(TRUE);
  1021. X    else
  1022. X      return(FALSE);
  1023. X
  1024. X--- 2312,2318 -----
  1025. X    int16 temp = class_level_adj[py.misc.pclass][CLA_SAVE];
  1026. X  
  1027. X    if (randint(100) <= (py.misc.save + stat_adj(A_WIS)
  1028. X!                + (temp * py.misc.lev / 3)))
  1029. X      return(TRUE);
  1030. X    else
  1031. X      return(FALSE);
  1032. Xdiff -cr oldumoria/source/save.c umoria/source/save.c
  1033. X*** oldumoria/source/save.c    Thu May 10 10:16:18 1990
  1034. X--- umoria/source/save.c    Mon May 14 19:08:52 1990
  1035. X***************
  1036. X*** 70,75
  1037. X  #endif
  1038. X  
  1039. X  #if !defined(ATARIST_MWC)
  1040. X  long time();
  1041. X  #else
  1042. X  char *malloc();
  1043. X
  1044. X--- 70,78 -----
  1045. X  #endif
  1046. X  
  1047. X  #if !defined(ATARIST_MWC)
  1048. X+ #ifdef MAC
  1049. X+ #include <time.h>
  1050. X+ #else
  1051. X  long time();
  1052. X  #endif
  1053. X  #else
  1054. X***************
  1055. X*** 71,76
  1056. X  
  1057. X  #if !defined(ATARIST_MWC)
  1058. X  long time();
  1059. X  #else
  1060. X  char *malloc();
  1061. X  #endif
  1062. X
  1063. X--- 74,80 -----
  1064. X  #include <time.h>
  1065. X  #else
  1066. X  long time();
  1067. X+ #endif
  1068. X  #else
  1069. X  char *malloc();
  1070. X  #endif
  1071. X***************
  1072. X*** 491,497
  1073. X  char *fnam;
  1074. X  {
  1075. X    vtype temp;
  1076. X!   register int i, ok, fd;
  1077. X    int8u char_tmp;
  1078. X  
  1079. X    if (log_index < 0)
  1080. X
  1081. X--- 495,501 -----
  1082. X  char *fnam;
  1083. X  {
  1084. X    vtype temp;
  1085. X!   register int ok, fd;
  1086. X    int8u char_tmp;
  1087. X  
  1088. X    if (log_index < 0)
  1089. X***************
  1090. X*** 641,646
  1091. X        msg_print("Savefile does not exist.");
  1092. X        return FALSE;    /* Don't bother with messages here. File absent. */
  1093. X      }
  1094. X  #endif
  1095. X  
  1096. X    clear_screen();
  1097. X
  1098. X--- 645,653 -----
  1099. X        msg_print("Savefile does not exist.");
  1100. X        return FALSE;    /* Don't bother with messages here. File absent. */
  1101. X      }
  1102. X+ #else
  1103. X+   if (access (savefile, 0) < 0)
  1104. X+     return FALSE;
  1105. X  #endif
  1106. X  
  1107. X    clear_screen();
  1108. Xdiff -cr oldumoria/source/signals.c umoria/source/signals.c
  1109. X*** oldumoria/source/signals.c    Fri May  4 18:17:16 1990
  1110. X--- umoria/source/signals.c    Fri May 25 17:11:52 1990
  1111. X***************
  1112. X*** 76,81
  1113. X  
  1114. X  #ifdef USG
  1115. X  void exit();
  1116. X  unsigned sleep();
  1117. X  #endif
  1118. X  
  1119. X
  1120. X--- 76,84 -----
  1121. X  
  1122. X  #ifdef USG
  1123. X  void exit();
  1124. X+ #ifdef __TURBOC__
  1125. X+ void sleep();
  1126. X+ #else
  1127. X  unsigned sleep();
  1128. X  #endif
  1129. X  #endif
  1130. X***************
  1131. X*** 78,83
  1132. X  void exit();
  1133. X  unsigned sleep();
  1134. X  #endif
  1135. X  
  1136. X  static int error_sig = -1;
  1137. X  static int signal_count = 0;
  1138. X
  1139. X--- 81,87 -----
  1140. X  #else
  1141. X  unsigned sleep();
  1142. X  #endif
  1143. X+ #endif
  1144. X  
  1145. X  static int error_sig = -1;
  1146. X  static int signal_count = 0;
  1147. X***************
  1148. X*** 92,97
  1149. X  
  1150. X    smask = sigsetmask(0) | (1 << sig);
  1151. X  #else
  1152. X  static int signal_handler(sig)
  1153. X  int sig;
  1154. X  {
  1155. X
  1156. X--- 96,104 -----
  1157. X  
  1158. X    smask = sigsetmask(0) | (1 << sig);
  1159. X  #else
  1160. X+ #ifdef __TURBOC__
  1161. X+ static void signal_handler(sig)
  1162. X+ #else
  1163. X  static int signal_handler(sig)
  1164. X  #endif
  1165. X  int sig;
  1166. X***************
  1167. X*** 93,98
  1168. X    smask = sigsetmask(0) | (1 << sig);
  1169. X  #else
  1170. X  static int signal_handler(sig)
  1171. X  int sig;
  1172. X  {
  1173. X  
  1174. X
  1175. X--- 100,106 -----
  1176. X  static void signal_handler(sig)
  1177. X  #else
  1178. X  static int signal_handler(sig)
  1179. X+ #endif
  1180. X  int sig;
  1181. X  {
  1182. X  
  1183. Xdiff -cr oldumoria/source/spells.c umoria/source/spells.c
  1184. X*** oldumoria/source/spells.c    Mon Apr  9 12:11:18 1990
  1185. X--- umoria/source/spells.c    Tue May 22 15:25:17 1990
  1186. X***************
  1187. X*** 437,443
  1188. X        if (c_ptr->fval <= MAX_CAVE_FLOOR)
  1189. X          {
  1190. X            door = TRUE;
  1191. X-           k = popt();
  1192. X            if (c_ptr->tptr != 0)
  1193. X          (void) delete_object(i, j);
  1194. X            c_ptr->fval = BLOCKED_FLOOR;
  1195. X
  1196. X--- 437,442 -----
  1197. X        if (c_ptr->fval <= MAX_CAVE_FLOOR)
  1198. X          {
  1199. X            door = TRUE;
  1200. X            if (c_ptr->tptr != 0)
  1201. X          (void) delete_object(i, j);
  1202. X            k = popt();
  1203. X***************
  1204. X*** 440,445
  1205. X            k = popt();
  1206. X            if (c_ptr->tptr != 0)
  1207. X          (void) delete_object(i, j);
  1208. X            c_ptr->fval = BLOCKED_FLOOR;
  1209. X            c_ptr->tptr = k;
  1210. X           invcopy(&t_list[k], OBJ_CLOSED_DOOR);
  1211. X
  1212. X--- 439,445 -----
  1213. X            door = TRUE;
  1214. X            if (c_ptr->tptr != 0)
  1215. X          (void) delete_object(i, j);
  1216. X+           k = popt();
  1217. X            c_ptr->fval = BLOCKED_FLOOR;
  1218. X            c_ptr->tptr = k;
  1219. X            invcopy(&t_list[k], OBJ_CLOSED_DOOR);
  1220. X***************
  1221. X*** 442,448
  1222. X          (void) delete_object(i, j);
  1223. X            c_ptr->fval = BLOCKED_FLOOR;
  1224. X            c_ptr->tptr = k;
  1225. X!          invcopy(&t_list[k], OBJ_CLOSED_DOOR);
  1226. X            lite_spot(i, j);
  1227. X          }
  1228. X      }
  1229. X
  1230. X--- 442,448 -----
  1231. X            k = popt();
  1232. X            c_ptr->fval = BLOCKED_FLOOR;
  1233. X            c_ptr->tptr = k;
  1234. X!           invcopy(&t_list[k], OBJ_CLOSED_DOOR);
  1235. X            lite_spot(i, j);
  1236. X          }
  1237. X      }
  1238. Xdiff -cr oldumoria/source/treasure.c umoria/source/treasure.c
  1239. X*** oldumoria/source/treasure.c    Mon Apr 16 19:07:05 1990
  1240. X--- umoria/source/treasure.c    Fri May 25 20:43:52 1990
  1241. X***************
  1242. X*** 1,4
  1243. X! /* treasur1.c: dungeon object definitions
  1244. X  
  1245. X     Copyright (c) 1989 James E. Wilson, Robert A. Koeneke
  1246. X  
  1247. X
  1248. X--- 1,4 -----
  1249. X! /* treasure.c: dungeon object definitions
  1250. X  
  1251. X     Copyright (c) 1989 James E. Wilson, Robert A. Koeneke
  1252. X  
  1253. Xdiff -cr oldumoria/source/types.h umoria/source/types.h
  1254. X*** oldumoria/source/types.h    Fri May  4 18:18:13 1990
  1255. X--- umoria/source/types.h    Fri May 25 17:12:23 1990
  1256. X***************
  1257. X*** 318,324
  1258. X    unsigned int pl : 1;    /* permanent light, used for walls and lighted rooms */
  1259. X    unsigned int tl : 1;    /* temporary light, used for player's lamp light,etc.*/
  1260. X  #else
  1261. X! #ifndef IBMPC_TURBO_C
  1262. X    /* this is not legal ANSI C, this is a MSC extension, which will use 1 byte
  1263. X       for the bitfields whereas MSC uses 2 bytes for the bitfields above */
  1264. X    /* this is also a MWC extension on the Atari ST */
  1265. X
  1266. X--- 318,324 -----
  1267. X    unsigned int pl : 1;    /* permanent light, used for walls and lighted rooms */
  1268. X    unsigned int tl : 1;    /* temporary light, used for player's lamp light,etc.*/
  1269. X  #else
  1270. X! #ifndef __TURBOC__
  1271. X    /* this is not legal ANSI C, this is a MSC extension, which will use 1 byte
  1272. X       for the bitfields whereas MSC uses 2 bytes for the bitfields above */
  1273. X    /* this is also a MWC extension on the Atari ST */
  1274. Xdiff -cr oldumoria/unix/Makefile umoria/unix/Makefile
  1275. X*** oldumoria/unix/Makefile    Tue May  8 00:06:16 1990
  1276. X--- umoria/unix/Makefile    Sun May 27 15:59:20 1990
  1277. X***************
  1278. X*** 11,17
  1279. X      generate.c sets.c dungeon.c creature.c death.c eat.c help.c magic.c\
  1280. X      potions.c prayer.c save.c staffs.c wands.c scrolls.c spells.c\
  1281. X      wizard.c store2.c signals.c moria1.c moria2.c monsters.c\
  1282. X!     treasure.c variable.c rnd.c recall.c unix.c undef.c
  1283. X  
  1284. X  OBJS = main.o misc1.o misc2.o store1.o files.o io.o create.o desc.o\
  1285. X      generate.o sets.o dungeon.o creature.o death.o eat.o help.o magic.o\
  1286. X
  1287. X--- 11,18 -----
  1288. X      generate.c sets.c dungeon.c creature.c death.c eat.c help.c magic.c\
  1289. X      potions.c prayer.c save.c staffs.c wands.c scrolls.c spells.c\
  1290. X      wizard.c store2.c signals.c moria1.c moria2.c monsters.c\
  1291. X!     treasure.c variable.c rnd.c recall.c unix.c undef.c\
  1292. X!     player.c tables.c
  1293. X  
  1294. X  OBJS = main.o misc1.o misc2.o store1.o files.o io.o create.o desc.o\
  1295. X      generate.o sets.o dungeon.o creature.o death.o eat.o help.o magic.o\
  1296. X***************
  1297. X*** 17,23
  1298. X      generate.o sets.o dungeon.o creature.o death.o eat.o help.o magic.o\
  1299. X      potions.o prayer.o save.o staffs.o wands.o scrolls.o spells.o\
  1300. X      wizard.o store2.o signals.o moria1.o moria2.o monsters.o\
  1301. X!     treasure.o variable.o rnd.o recall.o unix.o undef.o
  1302. X  
  1303. X  LIBFILES = hours news origcmds.hlp owizcmds.hlp roglcmds.hlp rwizcmds.hlp \
  1304. X      scores version.hlp welcome.hlp
  1305. X
  1306. X--- 18,25 -----
  1307. X      generate.o sets.o dungeon.o creature.o death.o eat.o help.o magic.o\
  1308. X      potions.o prayer.o save.o staffs.o wands.o scrolls.o spells.o\
  1309. X      wizard.o store2.o signals.o moria1.o moria2.o monsters.o\
  1310. X!     treasure.o variable.o rnd.o recall.o unix.o undef.o\
  1311. X!     player.o tables.o
  1312. X  
  1313. X  LIBFILES = hours news origcmds.hlp owizcmds.hlp roglcmds.hlp rwizcmds.hlp \
  1314. X      scores version.hlp welcome.hlp
  1315. X***************
  1316. X*** 66,71
  1317. X  monsters.o: constant.h types.h config.h
  1318. X  moria1.o: constant.h types.h externs.h config.h
  1319. X  moria2.o: constant.h types.h externs.h config.h
  1320. X  potions.o: constant.h types.h externs.h config.h
  1321. X  prayer.o: constant.h types.h externs.h config.h
  1322. X  recall.o: constant.h config.h types.h externs.h
  1323. X
  1324. X--- 68,74 -----
  1325. X  monsters.o: constant.h types.h config.h
  1326. X  moria1.o: constant.h types.h externs.h config.h
  1327. X  moria2.o: constant.h types.h externs.h config.h
  1328. X+ player.o: constant.h types.h config.h
  1329. X  potions.o: constant.h types.h externs.h config.h
  1330. X  prayer.o: constant.h types.h externs.h config.h
  1331. X  recall.o: constant.h config.h types.h externs.h
  1332. X***************
  1333. X*** 78,83
  1334. X  staffs.o: constant.h types.h externs.h config.h
  1335. X  store1.o: constant.h types.h externs.h config.h
  1336. X  store2.o: constant.h types.h externs.h config.h
  1337. X  treasure.o: constant.h types.h config.h
  1338. X  unix.o: constant.h config.h types.h externs.h
  1339. X  variable.o: constant.h types.h config.h
  1340. X
  1341. X--- 81,87 -----
  1342. X  staffs.o: constant.h types.h externs.h config.h
  1343. X  store1.o: constant.h types.h externs.h config.h
  1344. X  store2.o: constant.h types.h externs.h config.h
  1345. X+ tables.o: constant.h types.h config.h
  1346. X  treasure.o: constant.h types.h config.h
  1347. X  unix.o: constant.h config.h types.h externs.h
  1348. X  variable.o: constant.h types.h config.h
  1349. Xdiff -cr oldumoria/util/README umoria/util/README
  1350. X*** oldumoria/util/README    Fri May  4 17:53:32 1990
  1351. X--- umoria/util/README    Fri May 25 21:47:04 1990
  1352. X***************
  1353. X*** 10,17
  1354. X  monster.cng: a list of some of the changes to the monster.c file, is this
  1355. X  still needed?
  1356. X  
  1357. X! printit.c: some code which would pretty print item/monster descriptions for
  1358. X! umoria 4.87, by Carl Hommel, obsolete
  1359. X  
  1360. X  showmon.c: obsolete code from 4.87 for printing the monster dictionary,
  1361. X  superceded by the monster memories
  1362. X
  1363. X--- 10,17 -----
  1364. X  monster.cng: a list of some of the changes to the monster.c file, is this
  1365. X  still needed?
  1366. X  
  1367. X! printit.c: some code which will pretty print item/monster descriptions,
  1368. X! written by Carl Hommel
  1369. X  
  1370. X  showmon.c: obsolete code from 4.87 for printing the monster dictionary,
  1371. X  superceded by the monster memories
  1372. X***************
  1373. X*** 16,19
  1374. X  showmon.c: obsolete code from 4.87 for printing the monster dictionary,
  1375. X  superceded by the monster memories
  1376. X  
  1377. X! weapons: a program which roughly indicates which weapons are best
  1378. X
  1379. X--- 16,21 -----
  1380. X  showmon.c: obsolete code from 4.87 for printing the monster dictionary,
  1381. X  superceded by the monster memories
  1382. X  
  1383. X! weapons: a program which roughly indicates which weapons are best, written
  1384. X! by Wayne Schlitt
  1385. X! 
  1386. Xdiff -cr oldumoria/vms/make.com umoria/vms/make.com
  1387. X*** oldumoria/vms/make.com    Wed Feb 14 13:05:52 1990
  1388. X--- umoria/vms/make.com    Sun May 27 15:46:50 1990
  1389. X***************
  1390. X*** 17,22
  1391. X  $ cc moria1.c /obj=moria1.o
  1392. X  $ cc moria2.c /obj=moria2.o
  1393. X  $ cc potions.c /obj=potions.o
  1394. X  $ cc prayer.c /obj=prayer.o
  1395. X  $ cc save.c /obj=save.o
  1396. X  $ cc scrolls.c /obj=scrolls.o
  1397. X
  1398. X--- 17,23 -----
  1399. X  $ cc moria1.c /obj=moria1.o
  1400. X  $ cc moria2.c /obj=moria2.o
  1401. X  $ cc potions.c /obj=potions.o
  1402. X+ $ cc player.c /obj=player.o
  1403. X  $ cc prayer.c /obj=prayer.o
  1404. X  $ cc save.c /obj=save.o
  1405. X  $ cc scrolls.c /obj=scrolls.o
  1406. X***************
  1407. X*** 26,31
  1408. X  $ cc staffs.c /obj=staffs.o
  1409. X  $ cc store1.c /obj=store1.o
  1410. X  $ cc store2.c /obj=store2.o
  1411. X  $ cc treasure1.c /obj=treasure1.o
  1412. X  $ cc treasure2.c /obj=treasure2.o
  1413. X  $ cc variables.c /obj=variables.o
  1414. X
  1415. X--- 27,33 -----
  1416. X  $ cc staffs.c /obj=staffs.o
  1417. X  $ cc store1.c /obj=store1.o
  1418. X  $ cc store2.c /obj=store2.o
  1419. X+ $ cc tables.c /obj=tables.o
  1420. X  $ cc treasure1.c /obj=treasure1.o
  1421. X  $ cc treasure2.c /obj=treasure2.o
  1422. X  $ cc variables.c /obj=variables.o
  1423. Xdiff -cr oldumoria/vms/moria.opt umoria/vms/moria.opt
  1424. X*** oldumoria/vms/moria.opt    Sat Feb 10 22:55:27 1990
  1425. X--- umoria/vms/moria.opt    Sun May 27 15:47:31 1990
  1426. X***************
  1427. X*** 2,8
  1428. X  generate.o,sets.o,dungeon.o,creature.o,death.o,eat.o,help.o,magic.o, -
  1429. X  potions.o,prayer.o,save.o,staffs.o,wands.o,scrolls.o,spells.o, -
  1430. X  wizard.o,store2.o,signals.o,moria1.o,moria2.o,monsters.o, -
  1431. X! treasure1.o,treasure2.o,variables.o, -
  1432. X  getch.o,cbreak.o,uexit.o,sys$library:vaxcrtl/share
  1433. X  ! ^ char input
  1434. X  !         ^ small stubs for cbreak(), nocbreak()
  1435. X
  1436. X--- 2,8 -----
  1437. X  generate.o,sets.o,dungeon.o,creature.o,death.o,eat.o,help.o,magic.o, -
  1438. X  potions.o,prayer.o,save.o,staffs.o,wands.o,scrolls.o,spells.o, -
  1439. X  wizard.o,store2.o,signals.o,moria1.o,moria2.o,monsters.o, -
  1440. X! treasure1.o,treasure2.o,variables.o,player.o,tables.o -
  1441. X  getch.o,cbreak.o,uexit.o,sys$library:vaxcrtl/share
  1442. X  ! ^ char input
  1443. X  !         ^ small stubs for cbreak(), nocbreak()
  1444. END_OF_FILE
  1445. if test 39060 -ne `wc -c <'patches01'`; then
  1446.     echo shar: \"'patches01'\" unpacked with wrong size!
  1447. fi
  1448. # end of 'patches01'
  1449. fi
  1450. if test -f 'source/tables.c' -a "${1}" != "-c" ; then 
  1451.   echo shar: Will not clobber existing file \"'source/tables.c'\"
  1452. else
  1453. echo shar: Extracting \"'source/tables.c'\" \(10736 characters\)
  1454. sed "s/^X//" >'source/tables.c' <<'END_OF_FILE'
  1455. X/* tables.c: store/attack/RNG/etc tables and variables
  1456. X
  1457. X   Copyright (c) 1989 James E. Wilson, Robert A. Koeneke
  1458. X
  1459. X   This software may be copied and distributed for educational, research, and
  1460. X   not for profit purposes provided that this copyright and statement are
  1461. X   included in all such copies. */
  1462. X
  1463. X#include "constant.h"
  1464. X#include "config.h"
  1465. X#include "types.h"
  1466. X
  1467. X#ifdef MORIA_HOU
  1468. X/* Operating hours for Moria                -RAK-    */
  1469. X/*     X = Open; . = Closed                    */
  1470. Xchar  days[7][29] = { "SUN:XXXXXXXXXXXXXXXXXXXXXXXX",
  1471. X            "MON:XXXXXXXX.........XXXXXXX",
  1472. X            "TUE:XXXXXXXX.........XXXXXXX",
  1473. X            "WED:XXXXXXXX.........XXXXXXX",
  1474. X            "THU:XXXXXXXX.........XXXXXXX",
  1475. X            "FRI:XXXXXXXX.........XXXXXXX",
  1476. X            "SAT:XXXXXXXXXXXXXXXXXXXXXXXX" };
  1477. X#endif
  1478. X
  1479. X#ifdef MAC
  1480. Xstore_type *store;
  1481. X#else
  1482. Xstore_type store[MAX_STORES];
  1483. X#endif
  1484. X
  1485. X/* Store owners have different characteristics for pricing and haggling*/
  1486. X/* Note: Store owners should be added in groups, one for each store    */
  1487. X#ifdef MACGAME
  1488. Xowner_type *owners;
  1489. X#else
  1490. Xowner_type owners[MAX_OWNERS] = {
  1491. X{"Erick the Honest       (Human)      General Store",
  1492. X      250,    175,  108,    4, 0, 12},
  1493. X{"Mauglin the Grumpy     (Dwarf)      Armory"        ,
  1494. X    32000,    200,  112,    4, 5,  5},
  1495. X{"Arndal Beast-Slayer    (Half-Elf)   Weaponsmith"  ,
  1496. X    10000,    185,  110,    5, 1,  8},
  1497. X{"Hardblow the Humble    (Human)      Temple"        ,
  1498. X     3500,    175,  109,    6, 0, 15},
  1499. X{"Ga-nat the Greedy      (Gnome)      Alchemist"    ,
  1500. X    12000,    220,  115,    4, 4,  9},
  1501. X{"Valeria Starshine      (Elf)        Magic Shop"   ,
  1502. X    32000,    175,  110,    5, 2, 11},
  1503. X{"Andy the Friendly      (Halfling)   General Store",
  1504. X      200,    170,  108,    5, 3, 15},
  1505. X{"Darg-Low the Grim      (Human)      Armory"        ,
  1506. X    10000,    190,  111,    4, 0,  9},
  1507. X{"Oglign Dragon-Slayer   (Dwarf)      Weaponsmith"  ,
  1508. X    32000,    195,  112,    4, 5,  8},
  1509. X{"Gunnar the Paladin     (Human)      Temple"        ,
  1510. X     5000,    185,  110,    5, 0, 23},
  1511. X{"Mauser the Chemist     (Half-Elf)   Alchemist"    ,
  1512. X    10000,    190,  111,    5, 1,  8},
  1513. X{"Gopher the Great!      (Gnome)      Magic Shop"   ,
  1514. X    20000,    215,  113,    6, 4, 10},
  1515. X{"Lyar-el the Comely     (Elf)        General Store",
  1516. X      300,    165,  107,    6, 2, 18},
  1517. X{"Mauglim the Horrible   (Half-Orc)   Armory"        ,
  1518. X     3000,    200,  113,    5, 6,  9},
  1519. X{"Ithyl-Mak the Beastly  (Half-Troll) Weaponsmith"  ,
  1520. X     3000,    210,  115,    6, 7,  8},
  1521. X{"Delilah the Pure       (Half-Elf)   Temple"        ,
  1522. X    25000,    180,  107,    6, 1, 20},
  1523. X{"Wizzle the Chaotic     (Halfling)   Alchemist"    ,
  1524. X    10000,    190,  110,    6, 3,  8},
  1525. X{"Inglorian the Mage     (Human?)     Magic Shop"   ,
  1526. X    32000,    200,  110,    7, 0, 10}
  1527. X};
  1528. X#endif
  1529. X
  1530. X/* Buying and selling adjustments for character race VS store    */
  1531. X/* owner race                             */
  1532. Xint8u rgold_adj[MAX_RACES][MAX_RACES] = {
  1533. X            /*  Hum,  HfE,    Elf,  Hal,  Gno,  Dwa,    HfO,  HfT*/
  1534. X/*Human         */      {  100,  105,     105,  110,  113,  115,     120,  125},
  1535. X/*Half-Elf     */      {  110,  100,     100,  105,  110,  120,     125,  130},
  1536. X/*Elf         */      {  110,  105,     100,  105,  110,  120,     125,  130},
  1537. X/*Halfling     */      {  115,  110,     105,    95,  105,  110,     115,  130},
  1538. X/*Gnome         */      {  115,  115,     110,  105,   95,  110,     115,  130},
  1539. X/*Dwarf         */      {  115,  120,     120,  110,  110,   95,     125,  135},
  1540. X/*Half-Orc     */      {  115,  120,     125,  115,  115,  130,     110,  115},
  1541. X/*Half-Troll     */      {  110,  115,     115,  110,  110,  130,     110,  110}
  1542. X            };
  1543. X/* object_list[] index of objects that may appear in the store */
  1544. Xint16u store_choice[MAX_STORES][STORE_CHOICES] = {
  1545. X    /* General Store */
  1546. X{366,365,364,84,84,365,123,366,365,350,349,348,347,346,346,345,345,345,
  1547. X    344,344,344,344,344,344,344,344},
  1548. X    /* Armory     */
  1549. X{95,96,97,103,104,105,106,110,111,112,119,121,124,125,126,127,129,95,103,
  1550. X    104,124,125,92,93,95,96},
  1551. X    /* Weaponsmith     */
  1552. X{29,30,34,37,45,49,57,58,59,65,67,68,73,74,75,77,79,80,81,83,29,30,80,83,
  1553. X    80,83},
  1554. X    /* Temple     */
  1555. X{322,323,324,325,180,180,233,237,240,241,361,362,57,58,59,260,358,359,265,
  1556. X    237,237,240,240,241,323,359},
  1557. X    /* Alchemy shop     */
  1558. X{173,174,175,351,351,352,353,354,355,356,357,206,227,230,236,252,253,352,
  1559. X    353,354,355,356,359,363,359,359},
  1560. X    /* Magic-User store*/
  1561. X{318,141,142,153,164,167,168,140,319,320,320,321,269,270,282,286,287,292,
  1562. X    293,294,295,308,269,290,319,282}
  1563. X};
  1564. X
  1565. X#ifndef MAC
  1566. X/* MPW doesn't seem to handle this very well, so replace store_buy array
  1567. X   with a function call on mac */
  1568. X/* functions defined in sets.c */
  1569. Xextern int general_store(), armory(), weaponsmith(), temple(),
  1570. X  alchemist(), magic_shop();
  1571. X
  1572. X/* Each store will buy only certain items, based on TVAL */
  1573. Xint (*store_buy[MAX_STORES])() = {
  1574. X       general_store, armory, weaponsmith, temple, alchemist, magic_shop};
  1575. X#endif
  1576. X
  1577. X/* Following are arrays for descriptive pieces            */
  1578. X
  1579. X#ifdef MACGAME
  1580. X
  1581. Xchar **colors;
  1582. Xchar **mushrooms;
  1583. Xchar **woods;
  1584. Xchar **metals;
  1585. Xchar **rocks;
  1586. Xchar **amulets;
  1587. Xchar **syllables;
  1588. X
  1589. X#else
  1590. X
  1591. Xchar *colors[MAX_COLORS] = {
  1592. X/* Do not move the first three */
  1593. X  "Icky Green", "Light Brown", "Clear",
  1594. X  "Azure","Blue","Blue Speckled","Black","Brown","Brown Speckled","Bubbling",
  1595. X  "Chartreuse","Cloudy","Copper Speckled","Crimson","Cyan","Dark Blue",
  1596. X  "Dark Green","Dark Red","Gold Speckled","Green","Green Speckled","Grey",
  1597. X  "Grey Speckled","Hazy","Indigo","Light Blue","Light Green","Magenta",
  1598. X  "Metallic Blue","Metallic Red","Metallic Green","Metallic Purple","Misty",
  1599. X  "Orange","Orange Speckled","Pink","Pink Speckled","Puce","Purple",
  1600. X  "Purple Speckled","Red","Red Speckled","Silver Speckled","Smoky",
  1601. X  "Tangerine","Violet","Vermilion","White","Yellow"
  1602. X};
  1603. X
  1604. Xchar *mushrooms[MAX_MUSH] = {
  1605. X  "Blue","Black","Black Spotted","Brown","Dark Blue","Dark Green","Dark Red",
  1606. X  "Ecru","Furry","Green","Grey","Light Blue","Light Green","Plaid","Red",
  1607. X  "Slimy","Tan","White","White Spotted","Wooden","Wrinkled","Yellow",
  1608. X};
  1609. X
  1610. Xchar *woods[MAX_WOODS] = {
  1611. X  "Aspen","Balsa","Banyan","Birch","Cedar","Cottonwood","Cypress","Dogwood",
  1612. X  "Elm","Eucalyptus","Hemlock","Hickory","Ironwood","Locust","Mahogany",
  1613. X  "Maple","Mulberry","Oak","Pine","Redwood","Rosewood","Spruce","Sycamore",
  1614. X  "Teak","Walnut",
  1615. X};
  1616. X
  1617. Xchar *metals[MAX_METALS] = {
  1618. X  "Aluminum","Cast Iron","Chromium","Copper","Gold","Iron","Magnesium",
  1619. X  "Molybdenum","Nickel","Rusty","Silver","Steel","Tin","Titanium","Tungsten",
  1620. X  "Zirconium","Zinc","Aluminum-Plated","Copper-Plated","Gold-Plated",
  1621. X  "Nickel-Plated","Silver-Plated","Steel-Plated","Tin-Plated","Zinc-Plated"
  1622. X};
  1623. X
  1624. Xchar *rocks[MAX_ROCKS] = {
  1625. X  "Alexandrite","Amethyst","Aquamarine","Azurite","Beryl","Bloodstone",
  1626. X  "Calcite","Carnelian","Corundum","Diamond","Emerald","Fluorite","Garnet",
  1627. X  "Granite","Jade","Jasper","Lapis Lazuli","Malachite","Marble","Moonstone",
  1628. X  "Onyx","Opal","Pearl","Quartz","Quartzite","Rhodonite","Ruby","Sapphire",
  1629. X  "Tiger Eye","Topaz","Turquoise","Zircon"
  1630. X};
  1631. X
  1632. Xchar *amulets[MAX_AMULETS] = {
  1633. X  "Amber","Driftwood","Coral","Agate","Ivory","Obsidian",
  1634. X  "Bone","Brass","Bronze","Pewter","Tortoise Shell"
  1635. X};
  1636. X
  1637. Xchar *syllables[MAX_SYLLABLES] = {
  1638. X  "a","ab","ag","aks","ala","an","ankh","app",
  1639. X  "arg","arze","ash","aus","ban","bar","bat","bek",
  1640. X  "bie","bin","bit","bjor","blu","bot","bu",
  1641. X  "byt","comp","con","cos","cre","dalf","dan",
  1642. X  "den","doe","dok","eep","el","eng","er","ere","erk",
  1643. X  "esh","evs","fa","fid","for","fri","fu","gan",
  1644. X  "gar","glen","gop","gre","ha","he","hyd","i",
  1645. X  "ing","ion","ip","ish","it","ite","iv","jo",
  1646. X  "kho","kli","klis","la","lech","man","mar",
  1647. X  "me","mi","mic","mik","mon","mung","mur","nej",
  1648. X  "nelg","nep","ner","nes","nis","nih","nin","o",
  1649. X  "od","ood","org","orn","ox","oxy","pay","pet",
  1650. X  "ple","plu","po","pot","prok","re","rea","rhov",
  1651. X  "ri","ro","rog","rok","rol","sa","san","sat",
  1652. X  "see","sef","seh","shu","ski","sna","sne","snik",
  1653. X  "sno","so","sol","sri","sta","sun","ta","tab",
  1654. X  "tem","ther","ti","tox","trol","tue","turs","u",
  1655. X  "ulk","um","un","uni","ur","val","viv","vly",
  1656. X  "vom","wah","wed","werg","wex","whon","wun","x",
  1657. X  "yerg","yp","zun"
  1658. X};
  1659. X#endif
  1660. X
  1661. X/* used to calculate the number of blows the player gets in combat */
  1662. Xint8u blows_table[7][6] = {
  1663. X/* STR/W:       9  18  67 107 117 118   : DEX */
  1664. X/* <2 */    {  1,  1,  1,  1,  1,  1 },
  1665. X/* <3 */    {  1,  1,  1,  1,  2,  2 },
  1666. X/* <4 */    {  1,  1,  1,  2,  2,  3 },
  1667. X/* <5 */    {  1,  1,  2,  2,  3,  3 },
  1668. X/* <7 */    {  1,  2,  2,  3,  3,  4 },
  1669. X/* <9 */    {  1,  2,  2,  3,  4,  4 },
  1670. X/* >9 */    {  2,  2,  3,  3,  4,  4 }
  1671. X};
  1672. X
  1673. X/* this table is used to generate a psuedo-normal distribution.     See the
  1674. X   function randnor() in misc1.c, this is much faster than calling
  1675. X   transcendental function to calculate a true normal distribution */
  1676. Xint16u normal_table[NORMAL_TABLE_SIZE] = {
  1677. X     206,     613,    1022,    1430,    1838,     2245,      2652,       3058,
  1678. X    3463,    3867,    4271,    4673,    5075,     5475,      5874,       6271,
  1679. X    6667,    7061,    7454,    7845,    8234,     8621,      9006,       9389,
  1680. X    9770,   10148,   10524,   10898,   11269,    11638,     12004,      12367,
  1681. X   12727,   13085,   13440,   13792,   14140,    14486,     14828,      15168,
  1682. X   15504,   15836,   16166,   16492,   16814,    17133,     17449,      17761,
  1683. X   18069,   18374,   18675,   18972,   19266,    19556,     19842,      20124,
  1684. X   20403,   20678,   20949,   21216,   21479,    21738,     21994,      22245,
  1685. X   22493,   22737,   22977,   23213,   23446,    23674,     23899,      24120,
  1686. X   24336,   24550,   24759,   24965,   25166,    25365,     25559,      25750,
  1687. X   25937,   26120,   26300,   26476,   26649,    26818,     26983,      27146,
  1688. X   27304,   27460,   27612,   27760,   27906,    28048,     28187,      28323,
  1689. X   28455,   28585,   28711,   28835,   28955,    29073,     29188,      29299,
  1690. X   29409,   29515,   29619,   29720,   29818,    29914,     30007,      30098,
  1691. X   30186,   30272,   30356,   30437,   30516,    30593,     30668,      30740,
  1692. X   30810,   30879,   30945,   31010,   31072,    31133,     31192,      31249,
  1693. X   31304,   31358,   31410,   31460,   31509,    31556,     31601,      31646,
  1694. X   31688,   31730,   31770,   31808,   31846,    31882,     31917,      31950,
  1695. X   31983,   32014,   32044,   32074,   32102,    32129,     32155,      32180,
  1696. X   32205,   32228,   32251,   32273,   32294,    32314,     32333,      32352,
  1697. X   32370,   32387,   32404,   32420,   32435,    32450,     32464,      32477,
  1698. X   32490,   32503,   32515,   32526,   32537,    32548,     32558,      32568,
  1699. X   32577,   32586,   32595,   32603,   32611,    32618,     32625,      32632,
  1700. X   32639,   32645,   32651,   32657,   32662,    32667,     32672,      32677,
  1701. X   32682,   32686,   32690,   32694,   32698,    32702,     32705,      32708,
  1702. X   32711,   32714,   32717,   32720,   32722,    32725,     32727,      32729,
  1703. X   32731,   32733,   32735,   32737,   32739,    32740,     32742,      32743,
  1704. X   32745,   32746,   32747,   32748,   32749,    32750,     32751,      32752,
  1705. X   32753,   32754,   32755,   32756,   32757,    32757,     32758,      32758,
  1706. X   32759,   32760,   32760,   32761,   32761,    32761,     32762,      32762,
  1707. X   32763,   32763,   32763,   32764,   32764,    32764,     32764,      32765,
  1708. X   32765,   32765,   32765,   32766,   32766,    32766,     32766,      32766,
  1709. X};
  1710. END_OF_FILE
  1711. if test 10736 -ne `wc -c <'source/tables.c'`; then
  1712.     echo shar: \"'source/tables.c'\" unpacked with wrong size!
  1713. fi
  1714. # end of 'source/tables.c'
  1715. fi
  1716. if test ! -d 'util/printit' ; then
  1717.     echo shar: Creating directory \"'util/printit'\"
  1718.     mkdir 'util/printit'
  1719. fi
  1720. echo shar: End of archive 1 \(of 3\).
  1721. cp /dev/null ark1isdone
  1722. MISSING=""
  1723. for I in 1 2 3 ; do
  1724.     if test ! -f ark${I}isdone ; then
  1725.     MISSING="${MISSING} ${I}"
  1726.     fi
  1727. done
  1728. if test "${MISSING}" = "" ; then
  1729.     echo You have unpacked all 3 archives.
  1730.     echo "Please read the file NOTES01."
  1731.     rm -f ark[1-9]isdone
  1732. else
  1733.     echo You still need to unpack the following archives:
  1734.     echo "        " ${MISSING}
  1735. fi
  1736. ##  End of shell archive.
  1737. exit 0
  1738.